/* Die Klasse statistik.java erstellt der graphische 
 * Benutzeroberflaeche, in dem man das Ergebnis von die Haeufigkeit
 * der Mittelwert und die Standardabweichung sehen kann.
 * 
 *  
 * Datei : statistik.java              Autor : Kouende Steeve
 * Datum : 05.12.2011
 */

package statistik;                     /* diese package beinhaltet
                                        * alle notwendige klasse,
                                        * die zur Ausfuehrung diese 
                                        * Klasse benoetigt werden 
                                        */

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


/* Diese Klasse hat viele oeffentlichen und private Variable,
 * die dienen zur Erstellung von der graphischen Oberflaeche.
 * 
 * seine Methoden sind :
 * public void initFrame ()
 * public void actionPerformed (ActionEvent e)
 * public void openFrameHaeufigkeit ()
 * public void displayAusH (int x)
 * public void displayVorH (int x)
 * public void anzeige ()
 * public void openFrameMittelwert ()
 * public void displayAusM (int x)
 * public void displayVorM (int x)
 * public void anzeigeM ()
 * public void openFrameStandAb ()
 * public void displayAusSA (int x)
 * public void displayVorSA (int x)
 * public void anzeigeSA ()
 * 
 * */
public class Statistik extends JFrame implements ActionListener
{

  public static void main (String[] args)
  {
    Statistik newStatistik = new Statistik ();
    newStatistik.setVisible (true);
  }   
 
  private JMenuBar bar;
  private JMenu menu;
  private JRadioButtonMenuItem haeufigkeit;
  private JRadioButtonMenuItem mittelwert;
  private JRadioButtonMenuItem standAb;
  private JRadioButtonMenuItem exit;
    
  JTextArea resultH = new JTextArea ();
  JTextArea resultM = new JTextArea ();
  JTextArea resultSA = new JTextArea ();
  JFrame haufigkeitFrame;
  JFrame mittelwertFrame;
  JFrame standAbFrame;
  JButton button1 = new JButton ("  Ergebnis  ");
  JButton button = new JButton ("  Ergebnis  ");
  JButton button2 = new JButton ("  Ergebnis  ");
    
  ButtonGroup group = new ButtonGroup ();
  JRadioButton AI = new JRadioButton (" Angewandte Informatik  ");
  JRadioButton WI = new JRadioButton (" Wirtschaft  ");
  JRadioButton ET = new JRadioButton (" Elektrotechnik ");
  JRadioButton LT = new JRadioButton (" Lebensmittel Technologie");
  JRadioButton KW = new JRadioButton (" Kultur Wissenschaft  ");

    
  JRadioButton AIM = new JRadioButton (" Angewandte Informatik");
  JRadioButton WIM = new JRadioButton (" Wirtschaft  ");
  JRadioButton ETM = new JRadioButton (" Elektrotechnik ");
  JRadioButton LTM = new JRadioButton ("Lebensmittel Technologie ");
  JRadioButton KWM = new JRadioButton (" Kultur Wissenschaft ");

    
  JRadioButton AISA = new JRadioButton (" Angewandte Informatik ");
  JRadioButton WISA = new JRadioButton (" Wirtschaft ");
  JRadioButton ETSA = new JRadioButton (" Elektrotechnik ");
  JRadioButton LTSA = new JRadioButton 
      ("Lebensmittel Technologie  ");
  JRadioButton KWSA = new JRadioButton (" Kultur Wissenschaft ");

    
    ButtonGroup group2 = new ButtonGroup ();
    JRadioButton ausBuch = new JRadioButton (" Ausleihe  ");    
    JRadioButton vorBuch = new JRadioButton (" Vormerkung  ");
    JRadioButton ausBuchM = new JRadioButton (" Ausleihe  ");
    JRadioButton vorBuchM = new JRadioButton (" Vormerkung  ");
    JRadioButton ausBuchSA = new JRadioButton (" Ausleihe  ");
    JRadioButton vorBuchSA = new JRadioButton (" Vormerkung  ");
    
    
    public Statistik ()
    {
      initFrame ();
      setVisible (true);
    }
    
    /* Diese Methode erstellt der erste graphische Oberflaeche.
     * Es ist in der Konstruktor aufgerufen und es beinhaltet
     * eine JMenu, in der man die Wahl hat,zwischen Haeufigkeit 
     * Mittelwert oder standardabweichung auszuwaehlen
     */   
    public void initFrame ()
    {
      bar = new JMenuBar ();
      menu = new JMenu (" Statistik ");
      haeufigkeit = new JRadioButtonMenuItem (" haeufigkeit ");
      mittelwert = new JRadioButtonMenuItem (" mittelwert ");
      standAb = new JRadioButtonMenuItem (" standabweichung ");
      exit = new JRadioButtonMenuItem (" Exit ");
      
      setLayout (new FlowLayout ());
      setSize  (500,350);
      setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
      setTitle ("Statistik");
      bar.add (menu);
      menu.add (haeufigkeit);
      menu.add (mittelwert);
      menu.add (standAb);
      menu.add (exit);
      ButtonGroup group = new ButtonGroup ();
      group.add (haeufigkeit);
      group.add (mittelwert);
      group.add (standAb);
      
      haeufigkeit.addActionListener (this);
      mittelwert.addActionListener (this);
      standAb.addActionListener (this);
      exit.addActionListener (this);
      add(bar);    
    }
    
    /* diese Methode erlaubt nach der Auswahl zwischen
     *  Haeufigkeit Mittelwert oder standardabweichung
     * die entpreschende Schnittstelle zu zeigen
     * */
    
    public void actionPerformed (ActionEvent e)
    {
      if (e.getSource () == haeufigkeit)
      {
        Statistik s = new Statistik ();
        s.openFrameHaeufigkeit ();
      }
      if (e.getSource () == mittelwert)
      { 
         openFrameMittelwert ();
      }
      if (e.getSource () == standAb)
      {
         openFrameStandAb ();
      }
      
      if (e.getSource () == exit)
      {
        dispose ();
      }
      
    }
    
    /* diese Methode erstellt eine Schnittstelle, in der man 
     * das Ergebnis ueber die Haeufigkeit haben kann
     * */
    public void openFrameHaeufigkeit ()
    {
      JFrame haeufigkeitFrame = new JFrame (" Haeufigkeit ");
      
      haeufigkeitFrame.setVisible (true);
      haeufigkeitFrame.setSize (800,650);    
      
      JPanel gesamtePanel = new JPanel (new GridLayout (4,1));
      JPanel p1 = new JPanel (new GridLayout (3,1));
      JPanel p4 = new JPanel (new GridLayout (1,1));     
      
      JPanel p11 = new JPanel (new GridLayout (1,2));
      
      p1.add (new JLabel (" "));
      p11.add (new JLabel (" "));
      JLabel LabelTitel = new JLabel ("  Haeufigkeit  ");
      p11.add (LabelTitel, BorderLayout.CENTER);
      p11.add (new JLabel (" "));
      p1.add (p11, BorderLayout.NORTH);
      
      
      JPanel p2 = new JPanel ( new GridLayout (3,1));
      
    
      p2.add (new JLabel (" "));
        JPanel p21 = new JPanel (new GridLayout (1,2));
        JPanel p212 = new JPanel (new GridLayout (1,3));
      
        JLabel LSachgebiet = new JLabel ("  Sachgebiete  ");
      
        p212.add (new JLabel (" "));
        p212.add (LSachgebiet);
        p212.add (new JLabel (" "));
        p21.add (p212);
      
        JPanel p211 = new JPanel (new GridLayout (3,3));
             
        p211.add (AI);
        p211.add (WI);
        p211.add (ET);
        p211.add (LT);
        p211.add (KW);       
      
        group.add (AI);
        group.add (WI);
        group.add (ET);
        group.add (LT);
        group.add (KW);
      
        p21.add (p211);
      
        p2.add (p21, BorderLayout.CENTER);
        p2.add (new JLabel (" "));  
      
      JPanel p3 = new JPanel ( new GridLayout (3,1));  
      p3.add (new JLabel (" "));
      JPanel p22 = new JPanel (new GridLayout (1,2));
      JPanel p222 = new JPanel (new GridLayout (1,3));
      
      p222.add (new JLabel (" "));
      
      JLabel LBuchStand = new JLabel ("  Buchstand  ");
      p222.add (LBuchStand);
      p222.add (new JLabel (" "));
      p22.add (p222);
      
      JPanel p221 = new JPanel (new GridLayout (2,1));
          
      
      p221.add (ausBuch);
      p221.add (vorBuch);
      group2.add (ausBuch);
      group2.add (vorBuch);
     
      p22.add (p221, BorderLayout.CENTER);
         
      p3.add (p22, BorderLayout.CENTER);
      p3.add (new JLabel (" "));
      
      JPanel p41 = new JPanel ( new GridLayout (1,2));
      
       JPanel p412 = new JPanel (new GridLayout (3,3));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       
       p412.add (button, BorderLayout.CENTER);
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
      p41.add (p412);
           
      JPanel p422 = new JPanel (new GridLayout (1,1));
           
      p422.add (resultH, BorderLayout.CENTER);
           
      p41.add (p422, BorderLayout.CENTER);
      
      p4.add (p41, BorderLayout.CENTER);
          
      gesamtePanel.add (p1);
      gesamtePanel.add (p2);
      gesamtePanel.add (p3);
      gesamtePanel.add (p4);
      haeufigkeitFrame.add (gesamtePanel);
      
      anzeige ();
    }
    
    /* Diese Methode kuemmert sich um die Anzeige von der Haeufigkeit
     * in einem JTextArea von alle ausgeliehenen Buechern
     *  je nach sachgebiet
     * */
    public void displayAusH (int x)
    {
      Haufigkeit buch = new Haufigkeit (x); 
      
      buch.ausgelieheneB ();
      buch.hauefigkeitBuch ();
      int count;
      String mediumName = " Die Haeufigkeit von ausgeliehenen " +
          " Buechern (im prozent) \n\n";
      for (count = 0; count <
          buch.newMediumSG.gibMedium ().size () ; count ++)
      {
        
        mediumName = mediumName + "Buch " + 
          buch.newMediumSG.gibMedium ().get (count) + " hat  "
          + (buch.haeufigkeitB.get (count)) + " prozent \n";               
      }     
      resultH.setText ( mediumName);
    }
    
    /* Diese Methode kuemmert sich um die Anzeige von der Haeufigkeit
     * in einem JTextArea von alle vorgemerkten Buechern
     *  je nach sachgebiet
     * */
    public void displayVorH (int x)
    {
      Vormerkung buch = new Vormerkung (x); 
      
      buch.vorgemerkteB ();
      buch.hauefigkeitBuch ();
      int count;
      String mediumName = " Die Haeufigkeit von vorgemerkten " +
          " Buechern (im prozent) \n\n";
      for (count = 0; count <
          buch.mediumVorSG.gibMedium ().size () ; count ++)
      {
        
        mediumName = mediumName + "Buch " + 
          buch.mediumVorSG.gibMedium ().get (count) + " hat  "
          + (buch.haeufigkeitB.get (count)) + " prozent \n";              
      }     
      resultH.setText ( mediumName);
    }
    
    /* Diese Methode anzeigt in einem JTextArea ein Ergebnis
     * von der Haeufigkeit je nach dem Wahl des Benutzers
     * */
    public void anzeige ()
    {
      
      button.addActionListener ( new ActionListener ()
      {
        public void actionPerformed (ActionEvent e)
        {
          if (AI.isSelected () && ausBuch.isSelected ())
          {
            displayAusH (1);
          }         
          else if ( WI.isSelected () && ausBuch.isSelected ())
          {
            displayAusH (2);
          }
          else if ( ET.isSelected () && ausBuch.isSelected ())
          {
            displayAusH (3);
          }
          else if ( LT.isSelected () && ausBuch.isSelected ())
          {
            displayAusH (4);
          }
          else if ( KW.isSelected () && ausBuch.isSelected ())
          {
            displayAusH (5);
          } 
          else if ( AI.isSelected () && vorBuch.isSelected ())
          {
            displayVorH (1);
          }
          else if ( WI.isSelected () && vorBuch.isSelected ())
          {
            displayVorH (2);
          } 
          else if ( ET.isSelected () && vorBuch.isSelected ())
          {
            displayVorH (3);
          }
          else if ( LT.isSelected () && vorBuch.isSelected ())
          {
            displayVorH (4);
          } 
          
          else if ( KW.isSelected () && vorBuch.isSelected ())
          {
            displayVorH (5);
          } 
          else 
          {
            resultH.setText ( " ");
          }
        }
      } );                    
  }
    
  /* Diese Methode kuemmert sich um die Anzeige vom Mittelwert
   * in einem JTextArea von alle ausgeliehenen Buechern
   *  je nach sachgebiet
   * */  
  public void displayAusM (int x)
  {
    AusleiheMittelwert buch1 = new AusleiheMittelwert (x); 
      
    buch1.ausgelieheneBuch ();
    buch1.hauefigkeitBuch ();
    buch1.mittelwert ();
    int count;
     
    String mediumName1 = " Der Mittelwert von ausgeliehenen " +
          " Buechern (im prozent) \n\n";
    for (count = 0; count <
        buch1.newMediumSGM.gibMedium ().size () ; count ++)
      {
        
        mediumName1 = mediumName1 + "Buch " + 
         buch1.newMediumSGM.gibMedium ().get (count) + 
         " ist im Mittelwert (im prozent) "
         + (buch1.mittelwertAus.get (count)) + " ausgeliehen \n";                
      }
      
      resultM.setText ( mediumName1);
  }  
  
  /* Diese Methode kuemmert sich um die Anzeige vom Mittelwert
   * in einem JTextArea von alle vorgemerkten Buechern
   *  je nach sachgebiet
   * */
  public void displayVorM (int x)
  {
    VormerkungMittelwert buch2 = new VormerkungMittelwert (x); 
      
    buch2.ausgelieheneBuch ();
    buch2.hauefigkeitBuch ();
    buch2.mittelwert ();
    int count;
     
    String mediumName1 = " Der Mittelwert von vorgemerkten " +
      		                 " Buechern (im prozent) \n\n";
    for (count = 0; count < 
          buch2.mediumVorMittelwertSG.gibMedium ().size () ; 
          count ++)
      {
        
        mediumName1 = mediumName1 + "Buch " + 
          buch2.mediumVorMittelwertSG.gibMedium ().get (count) + 
          " ist im Mittelwert (im prozent) "
          + (buch2.mittelwertVor.get (count)) 
          + " vorgemerkte \n";        
        
      }
      
      resultM.setText ( mediumName1);
  } 
    
  
  
  /* Diese Methode anzeigt in einem JTextArea ein Ergebnis
   * vom Mittelwert je nach dem Wahl des Benutzers
   * */
  public void anzeigeM ()
  {
      
    button1.addActionListener ( new ActionListener ()
    {
      public void actionPerformed (ActionEvent e)
      {
        if (AIM.isSelected () && ausBuchM.isSelected ())
        {
          displayAusM (1);           
        }         
        else if ( WIM.isSelected () && ausBuchM.isSelected ())
        {
          displayAusM (2);
        }
        else if ( ETM.isSelected () && ausBuchM.isSelected ())
        {
          displayAusM (3);
        }
        else if ( LTM.isSelected () && ausBuchM.isSelected ())
        {
          displayAusM (4);
        }
        else if ( KWM.isSelected () && ausBuchM.isSelected ())
        {
          displayAusM (5);
        } 
        else if ( AIM.isSelected () && vorBuchM.isSelected ())
        {
          displayVorM (1);
        }
        else if ( WIM.isSelected () && vorBuchM.isSelected ())
        {
          displayVorM (2);
        } 
        else if ( ETM.isSelected () && vorBuchM.isSelected ())
        {
          displayVorM (3);
        }
        else if ( LTM.isSelected () && vorBuchM.isSelected ())
        {
          displayVorM (4);
        }     
        else if ( KWM.isSelected () && vorBuchM.isSelected ())
        {
          displayVorM (5);
        } 
        else 
        {
          resultM.setText ( " ");
        }
      }
    } );                       
  }
  
  /* diese Methode erstellt eine Schnittstelle, in der man 
   * das Ergebnis ueber den Mittelwert haben kann
   * */   
    public void openFrameMittelwert ()
    {
      JFrame mittelwertFrame = new JFrame ("Mittelwert");
      
      mittelwertFrame.setVisible (true);
      mittelwertFrame.setSize (800,650);
          
      JPanel gesamtePanel = new JPanel (new GridLayout (4,1));
      JPanel p1 = new JPanel (new GridLayout (3,1));
      JPanel p4 = new JPanel (new GridLayout (1,1));
           
      JPanel p11 = new JPanel (new GridLayout (1,2));
      
      p1.add (new JLabel (" "));
      p11.add (new JLabel (" "));
      JLabel LabelTitel = new JLabel ("  Mittelwert  ");
      p11.add (LabelTitel, BorderLayout.CENTER);
      p11.add (new JLabel (" "));
      p1.add (p11, BorderLayout.NORTH);
      
      
      JPanel p2 = new JPanel ( new GridLayout (3,1));
      
    
      p2.add (new JLabel (" "));
        JPanel p21 = new JPanel (new GridLayout (1,2));
        JPanel p212 = new JPanel (new GridLayout (1,3));
      
        JLabel LSachgebiet = new JLabel ("  Sachgebiete  ");
      
        p212.add (new JLabel (" "));
        p212.add (LSachgebiet);
        p212.add (new JLabel (" "));
        p21.add (p212);
      
        JPanel p211 = new JPanel (new GridLayout (3,3));
      
        ButtonGroup group = new ButtonGroup ();
        
      
        p211.add (AIM);
        p211.add (WIM);
        p211.add (ETM);
        p211.add (LTM);
        p211.add (KWM);
             
        group.add (AIM);
        group.add (WIM);
        group.add (ETM);
        group.add (LTM);
        group.add (KWM);
      
      
        p21.add (p211);
      
    p2.add (p21, BorderLayout.CENTER);
    p2.add (new JLabel (" "));  
      
    JPanel p3 = new JPanel ( new GridLayout (3,1));  
      p3.add (new JLabel (" "));
      JPanel p22 = new JPanel (new GridLayout (1,2));
      JPanel p222 = new JPanel (new GridLayout (1,3));
      
      p222.add (new JLabel (" "));
      
      JLabel LBuchStand = new JLabel ("  Buchstand  ");
      p222.add (LBuchStand);
      p222.add (new JLabel (" "));
      p22.add (p222);
      
      JPanel p221 = new JPanel (new GridLayout (2,1));
          
      ButtonGroup group2 = new ButtonGroup ();
      
      p221.add (ausBuchM);
      p221.add (vorBuchM);
      group2.add (ausBuchM);
      group2.add (vorBuchM);
     
      p22.add (p221, BorderLayout.CENTER);
       
      p3.add (p22, BorderLayout.CENTER);
      p3.add (new JLabel (" "));
      
      JPanel p41 = new JPanel ( new GridLayout (1,2));
      
       JPanel p412 = new JPanel (new GridLayout (3,3));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
     
       p412.add (button1, BorderLayout.CENTER);
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
      p41.add (p412);
           
      
      JPanel p422 = new JPanel (new GridLayout (1,1));
      
     
      p422.add (resultM, BorderLayout.CENTER);
        
      p41.add (p422, BorderLayout.CENTER);
      
      p4.add (p41, BorderLayout.CENTER);   
      
      gesamtePanel.add (p1);
      gesamtePanel.add (p2);
      gesamtePanel.add (p3);
      gesamtePanel.add (p4);
      mittelwertFrame.add (gesamtePanel);
      
      anzeigeM ();
    }
    
    /* Diese Methode kuemmert sich um die Anzeige von der
     * standardabweichung
     * in einem JTextArea von alle ausgeliehenen Buechern
     *  je nach sachgebiet
     * */
    public void displayAusSA (int x)
    {
      StandardAbweichungAus buch3 = new StandardAbweichungAus (x); 
      buch3.ausgelieheneBuch ();
      buch3.hauefigkeitBuch ();
      buch3.mittelwert ();
      buch3.standAbweichung ();
      
      int count;
       
      String mediumName1 = "Die Standardabweichung von " +
        		"ausgeliehenen Buechern \n\n ";
      for (count = 0; count < 
            buch3.mediumSGSA.gibMedium ().size () ; count ++)
      {
          
        mediumName1 = mediumName1 + "Buch " + 
                      buch3.mediumSGSA.gibMedium ().get (count) + 
                      " hat  "
                      + (buch3.standAbweichung.get (count)) 
                      + " (im prozent)\n";                
        }
        
        resultSA.setText ( mediumName1);
    }  
    
    /* Diese Methode kuemmert sich um die Anzeige von der
     * standardabweichung
     * in einem JTextArea von alle vorgemerkten Buechern
     *  je nach sachgebiet
     * */
    public void displayVorSA (int x)
    {
      StandardAbweichungVor buch2 = new StandardAbweichungVor (x); 
        
      buch2.vorgemerkteBuch ();
      buch2.hauefigkeitBuch ();
      buch2.mittelwert ();
      buch2.standAbweichung ();
      
      int count;
       
      String mediumName1 = " Die Standardabweichung von " +
            "vorgemerkten Buechern \n\n";
      for (count = 0; count < 
            buch2.mediumSGSAVor.gibMedium ().size () ; count ++)
      {         
         mediumName1 = mediumName1 + "Buch " + 
         buch2.mediumSGSAVor.gibMedium ().get (count) + 
        " hat  "
        + (buch2.standAbweichung.get (count)) + " (prozent) \n";        
          
      }
        
        resultSA.setText ( mediumName1);
    } 
    
    
    /* Diese Methode anzeigt in einem JTextArea ein Ergebnis
     * von der standardabweichung je nach dem Wahl des Benutzers
     * */
    public void anzeigeSA ()
    {        
        
      button2.addActionListener ( new ActionListener ()
      {
        public void actionPerformed (ActionEvent e)
        {
          if (AISA.isSelected () && ausBuchSA.isSelected ())
          {
            displayAusSA (1);           
          }         
          else if ( WISA.isSelected () && ausBuchSA.isSelected ())
          {
            displayAusSA (2);
          }
          else if ( ETSA.isSelected () && ausBuchSA.isSelected ())
          {
            displayAusSA (3);
          }
          else if ( LTSA.isSelected () && ausBuchSA.isSelected ())
          {
            displayAusSA (4);
          }
          else if ( KWSA.isSelected () && ausBuchSA.isSelected ())
          {
            displayAusSA (5);
          } 
          else if ( AISA.isSelected () && vorBuchSA.isSelected ())
          {
            displayVorSA (1);
          }
          else if ( WISA.isSelected () && vorBuchSA.isSelected ())
          {
            displayVorSA (2);
          } 
          else if ( ETSA.isSelected () && vorBuchSA.isSelected ())
          {
            displayVorSA (3);
          }
          else if ( LTSA.isSelected () && vorBuchSA.isSelected ())
          {
            displayVorSA (4);
          }         
          else if ( KWSA.isSelected () && vorBuchSA.isSelected ())
          {
            displayVorSA (5);
          } 
          else 
          {
            resultSA.setText ( " ");
          }
        }
      } );                       
    }
    
    /* diese Methode erstellt eine Schnittstelle, in der man 
     * das Ergebnis ueber die standardabweichung haben kann
     * */
    public void openFrameStandAb ()
    {
      JFrame standardAbFrame = new JFrame ("StandardAbweichung");
      
      standardAbFrame.setVisible (true);
      standardAbFrame.setSize (800,650);
         
      JPanel gesamtePanel = new JPanel (new GridLayout (4,1));
      JPanel p1 = new JPanel (new GridLayout (3,1));
      JPanel p4 = new JPanel (new GridLayout (1,1));
         
      JPanel p11 = new JPanel (new GridLayout (1,2));
      
      p1.add (new JLabel (" "));
      p11.add (new JLabel (" "));
      JLabel LabelTitel = new JLabel ("  Standard Abweichung  ");
      p11.add (LabelTitel, BorderLayout.CENTER);
      p11.add (new JLabel (" "));
      p1.add (p11, BorderLayout.NORTH);
      
      
      JPanel p2 = new JPanel ( new GridLayout (3,1));
          
      p2.add (new JLabel (" "));
        JPanel p21 = new JPanel (new GridLayout (1,2));
        JPanel p212 = new JPanel (new GridLayout (1,3));
      
        JLabel LSachgebiet = new JLabel ("  Sachgebiete  ");
      
        p212.add (new JLabel (" "));
        p212.add (LSachgebiet);
        p212.add (new JLabel (" "));
        p21.add (p212);
      
        JPanel p211 = new JPanel (new GridLayout (3,3));
      
        ButtonGroup group = new ButtonGroup ();
            
        p211.add (AISA);
        p211.add (WISA);
        p211.add (ETSA);
        p211.add (LTSA);
        p211.add (KWSA);
      
        group.add (AISA);
        group.add (WISA);
        group.add (ETSA);
        group.add (LTSA);
        group.add (KWSA);
      
        p21.add (p211);
      
      p2.add (p21, BorderLayout.CENTER);
      p2.add (new JLabel (" "));  
      
      JPanel p3 = new JPanel ( new GridLayout (3,1));  
      p3.add (new JLabel (" "));
      JPanel p22 = new JPanel (new GridLayout (1,2));
      JPanel p222 = new JPanel (new GridLayout (1,3));
      
      p222.add (new JLabel (" "));
      
      JLabel LBuchStand = new JLabel ("  Buchstand  ");
      p222.add (LBuchStand);
      p222.add (new JLabel (" "));
      p22.add (p222);
      
      JPanel p221 = new JPanel (new GridLayout (2,1));
          
      ButtonGroup group2 = new ButtonGroup ();
      p221.add (ausBuchSA);
      p221.add (vorBuchSA);
      group2.add (ausBuchSA);
      group2.add (vorBuchSA);
     
      p22.add (p221, BorderLayout.CENTER);
        
      p3.add (p22, BorderLayout.CENTER);
      p3.add (new JLabel (" "));
      
      JPanel p41 = new JPanel ( new GridLayout (1,2));
      
       JPanel p412 = new JPanel (new GridLayout (3,3));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
       
       p412.add (button2, BorderLayout.CENTER);
       p412.add (new JLabel (" "));
       p412.add (new JLabel (" "));
      p41.add (p412);           
      
      JPanel p422 = new JPanel (new GridLayout (1,1));
           
      p422.add (resultSA, BorderLayout.CENTER);
          
      p41.add (p422, BorderLayout.CENTER);
      
      p4.add (p41, BorderLayout.CENTER);
      
      gesamtePanel.add (p1);
      gesamtePanel.add (p2);
      gesamtePanel.add (p3);
      gesamtePanel.add (p4);
      standardAbFrame.add (gesamtePanel);
      
      anzeigeSA ();
    }
}
